Un peu d'histoire

Le système hexadécimal est utilisé notamment en électronique numérique et en informatique car il est particulièrement commode et permet un compromis entre le code binaire des machines et une base de numération pratique à utiliser pour les ingénieurs. En effet, chaque chiffre hexadécimal correspond exactement à quatre chiffres binaires (ou bits), rendant les conversions très simples et fournissant une écriture plus compacte. L'hexadécimal a été utilisé la première fois en 1956 par les ingénieurs de l'ordinateur Bendix G-15.

Écriture en base 16

Le principe générale est le même que pour l'encodage en base 10 ou base 2.

Pour écrire un nombre en base 16, il faut disposer d'un caractère pour chacun des entiers de 0 à 15. Or, on ne dispose pas d'assez de chiffres pour écrire les 16 valeurs de la base 16. On complète donc les chiffres de 0 à 9 par les six premières lettres de l'alphabet : A, B, C, D, E, F.

Base 10 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
Base 16 0 1 2 3 4 5 6 7 8 9 A B C D E F

$16_{10}=1\times16^1+0\times16^{0}=10_{16}$

$A_{16}=10\times 16^{0}=10_{10}$

$A1_{16}=10\times16^{1}+1\times 16^{0}=161_{10}$

$25_{10}=16+9=1\times 16^{1}+9\times 16^{0}=19_{16}$

$A9C3F2=10 \times 16^{5}+9\times 16^{4}+12\times 16^{3}+3\times 16^{2}+15\times 16^{1}+2\times 16^{0}=11125746_{10}$

$165469_{10}=2865D_{16}$

Une autre vidéo avec une autre explication et un autre exemple :

Prouver que $2A4DF1_{16}=2772465_{10}$.

Code de déblocage de la correction :

Conversion base 16 en base 10

Dans cette exercice, un nombre écrit en hexadécimal sera représenté sous forme de liste. par exemple A9C3 est représenté par ["A",9,"C",3]

Écrire une fonction hexa_en_deci(l) en Python qui renvoie, à une liste correspondant à l'écriture en hexadécimal d'un nombre, le nombre codé en base 10.

Il est utile d'implémenter un dictionnaire reprenant le tableau donnant la correspondance base 10/base 16.

Tester votre fonction avec l'exemple précédent

Code de déblocage de la correction :

Une lecture de l'exercice précédent pour vous aider à le réussir :

Conversion base 10 en base 16

L'algorithme de conversion de la base 10 à la base 16 est très proche de celui de la conversion de décimal à binaire. Prenons un exemple :

L'écriture binaire de $5869_{10}$ est donc $16ED_{16}$

Une autre vidéo avec une autre explication et un autre exemple :

Convertir $2988_{10}$ en hexadécimal.

Code de déblocage de la correction :

Dans cette exercice, un nombre écrit en hexadécimal sera représenté sous forme de liste. par exemple A9C3 est représenté par ["A",9,"C",3]

Écrire une fonction deci_en_hexa(nombre) en Python qui renvoie à un nombre codé en base 10 une liste correspondant au codage de ce nombre en base 16.

Il sera utile d'implémenter un dictionnaire reprenant le tableau au donnant la correspondance base 10/base 16.

Tester votre fonction avec l'exemple précédent.

Code de déblocage de la correction :

binaire et hexadécimal

Historiquement, c'est la conversion binaire/hexadécimal qui a été utilisé.

Sur 4 bit on peut écrire les nombres de 0 à 15. Avec 4 bit on peut, par conséquent, coder toutes les possibilités en base 16.

Le passage d'un bloc de 4 bit au suivant se fait par la multiplication par 16.

  1. $100011001110_{2}=1000\textrm{ }1100\textrm{ }1110=8_{10}\textrm{ }12_{10}\textrm{ }14_{10}=8CE_{16}$
  2. $A2F3_{16}=10_{10}\textrm{ }2_{10}\textrm{ }15_{10}\textrm{ }3_{10}=1010_{2}\textrm{ }0010_{2}\textrm{ }1111_{2}\textrm{ }0011_{2}=1010001011110011_{2}$
  1. Convertir les nombres $110010010001_{2}$ et $1001001110_{2}$ en base 16.

  2. Convertir les nombres $FA91_{16}$ et $1CC_{16}$ en binaire.

Code de déblocage de la correction :

Exercices

Donner l'écriture décimale du nombre écrit en hexadécimal $FAC_{16}$.

Code de déblocage de la correction :

Donner l'écriture en héxadécimal du nombre écrit en base 10 par $11995_{10}$.

Code de déblocage de la correction :

Licence Creative Commons
Les différents auteurs mettent l'ensemble du site à disposition selon les termes de la licence Creative Commons Attribution - Pas d’Utilisation Commerciale - Partage dans les Mêmes Conditions 4.0 International